package com.meituan.sdk.model.pms.reservation.updateCheckinMemo;

import com.meituan.sdk.annotations.ApiMeta;
import com.google.gson.reflect.TypeToken;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 修改接待单备注
* This file was automatically generated.
*/
@ApiMeta(
    path = "/pms/reservation/updateCheckinMemo",
    businessId = 57,
    apiVersion = "10028",
    apiName = "update_checkin_memo",
    needAuth = true
)
public class UpdateCheckinMemoRequest implements MeituanRequest<UpdateCheckinMemoResponse> {
    /**
    * <p data-diff-id="ct-diff-id-fdf667b7-6d34-4ddb-b282-640c32fb7113">酒店ID</p>
    */
    @NotNull(message = "hotelId不能为空")
    @SerializedName("hotelId")
    private Long hotelId;
    /**
    * <p data-diff-id="ct-diff-id-b80301a2-b305-45c7-a6ad-0af66995bbe9">接待单ID</p>
    */
    @NotNull(message = "checkinId不能为空")
    @SerializedName("checkinId")
    private Long checkinId;
    /**
    * <p data-diff-id="ct-diff-id-104852dd-d291-4d54-9c32-c14994b1d5d2"><span style="color: #333">备注的修改方式：Cover:直接覆盖，End:追加到最后</span></p>
    */
    @NotBlank(message = "memoAlterMode不能为空")
    @SerializedName("memoAlterMode")
    private String memoAlterMode;
    /**
    * <p data-diff-id="ct-diff-id-329b9e40-285a-4394-8a1a-880a6a614756">备注</p>
    */
    @NotBlank(message = "memo不能为空")
    @SerializedName("memo")
    private String memo;

    public Long getHotelId() {
        return hotelId;
    }
    public void setHotelId(Long hotelId) {
        this.hotelId = hotelId;
    }
    public Long getCheckinId() {
        return checkinId;
    }
    public void setCheckinId(Long checkinId) {
        this.checkinId = checkinId;
    }
    public String getMemoAlterMode() {
        return memoAlterMode;
    }
    public void setMemoAlterMode(String memoAlterMode) {
        this.memoAlterMode = memoAlterMode;
    }
    public String getMemo() {
        return memo;
    }
    public void setMemo(String memo) {
        this.memo = memo;
    }


    @Override
    public MeituanResponse<UpdateCheckinMemoResponse> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<UpdateCheckinMemoResponse>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "UpdateCheckinMemoRequest{" + "hotelId=" + hotelId + "," + "checkinId=" + checkinId + "," + "memoAlterMode=" + memoAlterMode + "," + "memo=" + memo + "}";
    }
}
